<!doctype html>
<!--
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
  <head>
    <title>async test</title>
    <script src="../../../webcomponentsjs/webcomponents.js"></script>
    <link rel="import" href="../../polymer.html">
    <script src="../../../tools/test/htmltest.js"></script>
    <script src="../../../tools/test/chai/chai.js"></script>
  </head>
  <body>

    <x-foo>I am x-foo.</x-foo>

    <polymer-element name="x-foo">
      <script>
        Polymer('x-foo', {
          asyncCount: 0,
          totalAsyncs: 5,
          ready: function() {
            var c = 0, d, e;
            for (var i=0; i < this.totalAsyncs; i++) {
              this.cancelAsync(this.async('asyncHandler'));
              this.cancelAsync(this.async('asyncHandler', null, 1));
            }
            this.async('done');
          },
          asyncHandler: function() {
            this.asyncCount++;
          },
          done: function() {
            this.async('test', null, 50);
          },
          test: function() {
            chai.assert.equal(this.asyncCount, 0);
            done();
          }
        });
      </script>
    </polymer-element>
  </body>
</html>
